<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:rich="http://richfaces.org/rich" template="/pages/template.xhtml">
	<ui:define name="title">
		<h:outputText value="File Upload" />
	</ui:define>

	<ui:define name="page-header">
		<h:outputText value="Header" />
	</ui:define>

	<ui:define name="section-title">
		<h:outputText value="Title" />
	</ui:define>

	<ui:define name="body">
		<f:view>
			<h:form>
				<t:saveState value="#{fileUploadBean.files}" id="files" />

				<h:outputText value="File Upload"
					style="font-size: 16px; color: Green;" />

				<h:panelGrid columns="2" columnClasses="top,top">
					<rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"
						maxFilesQuantity="#{fileUploadBean.uploadsAvailable}" id="upload"
						immediateUpload="#{fileUploadBean.autoUpload}"
						acceptedTypes="jpg, gif, png, bmp"
						allowFlash="#{fileUploadBean.useFlash}">
						<a4j:support event="onuploadcomplete" reRender="info" />
					</rich:fileUpload>
					<h:panelGroup id="info">
						<rich:panel bodyClass="info">
							<f:facet name="header">
								<h:outputText value="Uploaded Files Info" />
							</f:facet>
							<h:outputText value="No files currently uploaded"
								rendered="#{fileUploadBean.size==0}" />
							<rich:dataGrid columns="1" value="#{fileUploadBean.files}"
								var="file" rowKeyVar="row">
								<rich:panel bodyClass="rich-laguna-panel-no-header">
									<h:panelGrid columns="2">
										<a4j:mediaOutput element="img" mimeType="#{file.mime}"
											createContent="#{file.paint}" value="#{row}"
											style="width:100px; height:100px;" cacheable="false">
											<f:param value="#{fileUploadBean.timeStamp}" name="time" />
										</a4j:mediaOutput>
										<h:panelGrid columns="2">
											<h:outputText value="File Name:" />
											<h:outputText value="#{file.name}" />
											<h:outputText value="File Length(bytes):" />
											<h:outputText value="#{file.length}" />
										</h:panelGrid>
									</h:panelGrid>
								</rich:panel>
							</rich:dataGrid>
						</rich:panel>
						<rich:spacer height="3" />
						<br />
						<a4j:commandButton action="#{fileUploadBean.clearUploadData}"
							reRender="info, upload" value="Clear Uploaded Data"
							rendered="#{fileUploadBean.size>0}" />
					</h:panelGroup>
				</h:panelGrid>
			</h:form>

		</f:view>
	</ui:define>
</ui:composition>
